Methods of representing three dimensional articles to be produced using additive manufacturing processes in digital file formats

ABSTRACT

A design with multiple instances of a three-dimensional article is printed by first defining a unit cell that includes a single instance of a three-dimensional article that repeats in the design along with its nearest neighbor elements in both a plane of a build plate of a target printer on which the design is to be printed and a plane orthogonal thereto. The design is represented in an output file of a design application and a slicer application then generates instructions to manufacture the design by the target printer. The instructions (g-code) include directions to print, for each of a specified number of layers a number of instances of the unit cell that can be accommodated within a build envelop of the target printer per layer as determined by said slicer application. The design is printed by the printer according to the instructions from the slicer application.

RELATED APPLICATIONS

This application is a Continuation Application of U.S. application Ser.No. 16/684,132, filed on 14 Nov. 2019 (now issued as U.S. Pat. No.11,225,028), incorporated by reference herein.

FIELD OF THE INVENTION

The present invention relates to additive manufacturing processes and,in particular, to methods of representing three dimensional (3D)articles to be produced using such processes, including vatpolymerization processes, in digital file formats.

BACKGROUND

Additive manufacturing, or 3D printing as it is known, is a collectionof different technologies that provide different means of directproduction of various articles. For example, material extrusion is a 3Dprinting process in which a thin filament of solid material, usually athermoplastic, is heated to melting and forced through a nozzle onto abuild platform according to desired relative motions of the nozzle andbuild plate. The heated filament cools and solidifies on the build plateto form the desired article. Fused deposition molding (FDM) is a similartechnology but uses a wire filament instead of a thermoplastic medium tofashion the article under construction. Vat polymerization technologiesinclude stereolithography (SLA) and direct light processing (DLP). Thesetechniques generally involve the selective curing of resins contained ina vat using light sources. The resin is cured layer by layer so that thearticle under manufacture is created through a successive series ofcross-sections that adhere to one another. Powder bed fusion processessuch as selective laser sintering (SLS) use thermal energy, typicallyprovided by one or more lasers, to fuse powdered metals, ceramics, orother materials, again layer by layer, to build the article. Materialjetting, e.g., drop on demand (DOD), technology is a printing process inwhich droplets of material (typically wax or polymers) are selectivelydeposited and cured on a build plate to form an article. Other 3Dprinting process also exist.

Regardless of the ultimate manufacturing technology employed, workflowsfor 3D printing processes follow a generally common course. Initially,the article to be manufactured is designed using a computer systemrunning a form of 3D design software, commonly referred to as computeraided design or CAD software. Many commercial CAD software packagesexist for both amateur and professional designers and engineers and theyeach generally allow the operator to design an article of interest in avirtual 3D space. While the different CAD software packages vary interms of their capabilities and features, all generally permit theoperator to save an output file that includes specifications of thearticle of interest in one of a number of file formats. Common outputfile formats used in connection with 3D printing technologies include.stl (variously known as standard triangle language, stereolithography,or standard tessellation language), .STEP (standard for the exchange ofproduct data), and .obj (an open file format for representing 3Dgeometries). Of course, many other file formats compatible with 3Dprinting technologies exist.

Once the design of the article is complete, the output file thatdescribes the article is generated (in one of the various output fileformats) and provided to another software tool known as a “slicer.”Slicer applications may be stand-alone applications that run on computersystems or they may be integrated with the target printer on which thesubject article is to be manufactured. The slicer application convertsthe 3D object described in the output file from the CAD software intospecific instructions for the printer. For example, slicer applicationoutput files are commonly expressed as g-code, a popular instructionformat for computer controlled machining. In general, the slicerapplication divides the article described by the CAD output file into aset of successive layers of specified thickness (usually uniformthickness), and then describes the layers as linear or planar movementsof a nozzle, extruder, or laser, for additive manufacturing processesinvolving such apparatus, or as planar pixel maps for additivemanufacturing processes such as DLP. Additional instructions to accountfor fill and support structures are also typically included. The outputof the slicer application (e.g., the g-code) is then executed by theprinter to produce the target article.

Although it is relatively dated in terms of 3D printing technology andhas limitations (an inability to specify color, for example), the .stlfile format remains one of, if not the most popular file format for 3Dprinting today. .stl files describe a 3D article in terms of its surfacegeometry by expressing that surface as a number of triangular tilesadjacent one another along their edges. In order to better represent thetrue geometry of curved surfaces and other article details, thetriangles can be made arbitrarily small. Doing so increases theprecision of the .stl representation of the article to be manufactured,but it also means that a sizeable amount of information must beincluded. For each triangle, the spatial coordinates of its vertices aswell as a so-called normal vector must be specified, typically asfloating-point numbers. Thus, .stl files for many articles can quicklybecome very large, e.g., on the order of tens of gigabytes, making themunwieldy in terms of storage requirements and for transfer by electronicmeans. The same is generally true for other 3D object file formats (.objfor example) where highly detailed geometries and/or large volumes leadto very large file sizes. In addition, these very large files often takemany hours or even days for a slicer application to process.

SUMMARY OF THE INVENTION

In one embodiment, printing a design that includes multiple instances ofa 3D article is performed by first identifying in the design, repeatinginstances of a three-dimensional article to be printed and defining aunit cell that includes a single instance of the three-dimensionalarticle as well as nearest neighbor elements of the design to the singleinstance of the article in a plane of a build plate of a target printeron which the design is to be printed and a plane orthogonal thereto. Fora design application output file that includes said unit cell, a slicerapplication generates instructions to manufacture the design by thetarget printer. Those instructions include directions to print, for eachof a specified number of layers, a number of instances of the unit cellthat can be accommodated within a build envelop of the target printerper layer, as determined by the slicer application. The design isprinted by the target printer according to the instructions produced bythe slicer application.

The process is applicable for any 3D design file type and for a varietyof 3D printing technologies.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example, and notlimitation, in the figures of the accompanying drawings, in which:

FIG. 1 depicts a schematic cross-section of a 3D printing system inwhich an object undergoes fabrication in a tank containing aphoto-curing liquid resin.

FIG. 2 depicts an example of a controller for the 3D printing systemillustrated in FIG. 1 .

FIGS. 3, 4 and 5 illustrate aspects of a design for a 3D print job thatincludes multiple instances of an article over the plane of a buildplate of a printer apparatus and in multiple layers, and, in particular,FIG. 3 illustrates a single instance of the article, FIG. 4 shown a planview of a single layer of multiple instances of the article against thebackdrop of the build plate, and FIG. 5 illustrates an elevation view ofmultiple layers of the multiple instances of the article as are to beprinted.

FIG. 6 illustrates an example of a unit cell for the 3D print job forthe design highlighted in FIGS. 3-5 , according to an embodiment of thepresent invention.

DETAILED DESCRIPTION

Recognizing the difficulties and inconveniences posed by the very largefile sizes of .stl and other 3D design software representations ofarticles to be manufactured using 3D printing technologies, the presentinventors have devised methods of representing 3D articles to beproduced using such processes, including vat polymerization processes,in digital file formats that are much smaller in size. The smaller filesizes allow for reduced storage requirements and for easier transfer byelectronic means (e.g., email, etc.) than is the case for conventional3D design software output file representations of such articles. Inaddition, the time required for slicer applications to process suchfiles is reduced over that required for processing conventional 3Ddesign software output file representations of such articles.

The present methods are especially well suited for use with designs thatcall for printing of repeated patterns over an entirety of a build plateand/or in a direction orthogonal thereto. However, they may findapplication in other situations as well. For convenience, the remainderof the discussion will use an example that requires printing of arepeated pattern over the entirety of a build plate of a vatpolymerization printer and for multiple layers. However, those ofordinary skill in the art will appreciate that the techniques presentedby way of this example may be readily adapted for use in other contexts,e.g., with other printing technologies, and/or article designs.

Before describing the present methods in detail, a brief backgroundconcerning the vat polymerization process and environment will help inunderstanding some of the later discussion herein. FIG. 1 depicts across-section of 3D printing system 100, in which electromagneticradiation (e.g., ultra-violet (“UV”) light) is used to cure aphoto-curing liquid resin (typically a liquid polymer) 18 in order tofabricate an object (e.g., a 3D object) 22. Object 22 is fabricatedlayer by layer (i.e., a new layer of object 22 is be formed byphoto-curing a layer of liquid polymer 18 adjacent to the bottom surfaceof object 22), and as each new layer is formed the object may be raisedby build plate 20, allowing a next layer of photo-curing liquid resin 18to be drawn under the newly formed layer. This process may be repeatedmultiple times to form additional layers until fabrication of the objectis complete.

The 3D printing system 100 includes tank 10 for containing thephoto-curing liquid resin 18. The bottom of tank 10 (or at least aportion thereof) is sealed (i.e., to prevent the photo-curing liquidpolymer 18 from leaking out of tank 10) by a flexible membrane 14, whichis transparent (or nearly so) at wavelengths of interest for curing ofthe resin to allow electromagnetic radiation from a light source 26 toenter into tank 10. A mask 24 (e.g., a liquid crystal layer) is disposedbetween light source 26 and the photo-curing liquid resin 18 to allowthe selective curing of the liquid resin (which allows the formation of3D object into desired shapes/patterns). In various embodiments,collimation and diffusion elements such as lenses, reflectors, filters,and/or films may be positioned between mask 24 and light source 26.These elements are not shown in the illustrations so as not tounnecessarily obscure the drawing.

A platen or backing member 16 formed of borosilicate glass or othermaterial is disposed between the mask 24 and the flexible membrane 14and provides structural support. The platen is also transparent (ornearly so) at the one or more wavelengths of interest for curing theresin. In other instances, platen 16 may be metal or plastic and includea transparent window to allow electromagnetic radiation from lightsource 26 to enter into tank 10. In other embodiments, the mask 24itself may be used in place of a separate window and its perimetersealed with a gasket. Note that although the mask 24, platen 16, andmembrane 14 are shown as being displaced from one another by somedistance, in practice these components may be positioned so as to touchone another, so as to prevent refraction at any air interfaces. Flexiblemembrane 14 is secured to the edges of tank 10 or to a replaceablecartridge assembly (not shown) so as to maintain a liquid-tightperimeter at the edges of the tank or other opening (“liquid-tight”meaning that the tank does not leak during normal use).

When fabricating a layer of object 22 using 3D printing system 100,electromagnetic radiation is emitted from radiation source 26 throughmask 24, platen 16, and membrane 14 into tank 10. The electromagneticradiation forms an image on an image plane adjacent the bottom of object22. Areas of high (or moderate) intensity within the image cause curingof localized regions of the photo-curing liquid resin 18. The newlycured layer adheres to the former bottom surface of object 22 andsubstantially does not adhere to the bottom surface of tank 10 due tothe presence of flexible membrane 14. After the newly cured layer hasbeen formed, the emission of electromagnetic radiation may temporarilybe suspended (or not, in the case of “continuous printing”) while theextraction plate 20 is raised away from the bottom of the tank so thatanother new layer of object 22 may be printed.

Aspects of the printing process are directed by a controller 28, whichmay be implemented as a processor-based system with a processor-readablestorage medium having processor-executable instructions stored thereonso that when the processor executes those instructions it performsoperations to cause the actions described above. For example, amongother things controller 28 may instruct raising/lowering of theextraction plate 20, activation and deactivation of the light source 26,and the projection of cross-sectional images of the object underfabrication via mask 24 (e.g., as determined by the output of a slicerapplication either separate from the printer 100 or executing oncontroller 28). FIG. 2 provides an example of such a controller 28, butnot all such controllers need have all of the features of controller 28.For example, certain controllers may not include a display inasmuch asthe display function may be provided by a client computercommunicatively coupled to the controller or a display function may beunnecessary. Such details are not critical to the present invention.

Controller 28 includes a bus 202 or other communication mechanism forcommunicating information, and a processor 204 (e.g., a microprocessor)coupled with the bus 202 for processing information. Controller 28 alsoincludes a main memory 206, such as a random access memory (RAM) orother dynamic storage device, coupled to the bus 202 for storinginformation and instructions (e.g., g-code) to be executed by processor204. Main memory 206 also may be used for storing temporary variables orother intermediate information during execution of instructions to beexecuted by processor 204. Controller 28 further includes a read onlymemory (ROM) 208 or other static storage device coupled to the bus 302for storing static information and instructions for the processor 204. Astorage device 210, for example a hard disk, flash memory-based storagemedium, or other storage medium from which processor 204 can read, isprovided and coupled to the bus 202 for storing information andinstructions (e.g., operating systems, applications programs such as aslicer application, and the like).

Controller 28 may be coupled via the bus 202 to a display 212, such as aflat panel display, for displaying information to a computer user. Aninput device 214, such as a keyboard including alphanumeric and otherkeys, may be coupled to the bus 202 for communicating information andcommand selections to the processor 204. Another type of user inputdevice is cursor control device 216, such as a mouse, a trackpad, orsimilar input device for communicating direction information and commandselections to processor 204 and for controlling cursor movement on thedisplay 212. Other user interface devices, such as microphones,speakers, etc. are not shown in detail but may be involved with thereceipt of user input and/or presentation of output.

Controller 28 also includes a communication interface 218 coupled to thebus 202. Communication interface 218 may provide a two-way datacommunication channel with a computer network, which providesconnectivity to and among the various computer systems discussed above.For example, communication interface 218 may be a local area network(LAN) card to provide a data communication connection to a compatibleLAN, which itself is communicatively coupled to the Internet through oneor more Internet service provider networks. The precise details of suchcommunication paths are not critical to the present invention. What isimportant is that controller 28 can send and receive messages and data,e.g., a digital file representing 3D articles to be produced usingprinter 100, in a format provided in accordance with the presentinvention, through the communication interface 218 and in that waycommunicate with hosts accessible via the Internet. It is noted that thecomponents of controller 28 may be located in a single device or locatedin a plurality of physically and/or geographically distributed devices.

Now referring to FIG. 3 , an example of one instance of an article 300to be printed is illustrated. As shown, article 300 is a hypotheticalcomponent of a larger machine, and is not necessarily intended torepresent any particular article. Instead, it is being used forpedagogical purposes in order to explain aspects of the presentinvention.

Referring to FIGS. 3, 4 and 5 , assume that a particular design callsfor printing multiple instances of article 300 across the length (L) andbreadth (W) of a build plate 310 of a printer apparatus such as printer100 shown in FIG. 1 . FIG. 4 shown a plan view of a single layer 302 ofinstances of article 300 against the backdrop of build plate 310, andFIG. 5 illustrates an elevation view of multiple such layers 302 a, 302b, 302 c, . . . , 302 n, as are to be printed. The area of eachindividual instance of article 300 is much less than that of the area ofthe build plate 310, so for each thickness “t” of layers 302 a, 302 b,302 c, . . . , 302 n of articles 300 to be printed there will be tens,dozens, or even hundreds of instances of article 300. A thickness “t”may correspond to one, two, or more print layers of printer 100, and thedistance “d” between layers may be as little as a single print layer ormultiple ones thereof of printer 100. By “print layer” we mean a layerheight as specified for a slicer program, which represents the minimumthickness of a printed layer for the target printer. For example, for aparticular design involving multiple instances of article 300, thickness“t” may correspond to 1 mm, 2 mm, 5 mm, or another thickness, anddistance “d” may correspond to 100 μm, 200 μm, 500 μm, or anotherdistance.

Typically, the 3D design application output (e.g., .stl) file for theintended design involving multiple instances of article 300 will bequite large, e.g., on the order of tens of GB, because it must accountfor every instance of article 300 to be printed. For example, if article300 is made up of many irregular angles, as is shown by the edge details308 of article 300 in FIG. 3 , then each article 300 must be representedby many polygons in the output file in order to faithfully reproducesuch details in the printed article. Accommodating this large number ofpolygons for all of the instances of article 300 to be included in thedesign results in the large file size for the output file. These largefile sizes pose difficulties in that they are inconvenient to store,share, upload, download, and otherwise communicate. They also may takeseveral hours or even days for a slicer application to process. Creatingsupport structures for some articles will also be computationallyintensive.

The present invention eliminates the need for these large 3D designapplication output files by defining a “unit cell” for a particulardesign that will involve the printing of multiple instances of arepeating pattern. The unit cell preferably includes an instance of theelement that repeats in the overall design, along with the nearestneighbors of that instance in three spatial dimensions. For example, inthe case of article 300, as shown in FIG. 6 , a unit cell 304 inaccordance with the present invention includes an instance 300 _(a) ofthe element that repeats in the overall design for a layer 306 _(r),along with neighbors 300 a−1 and 300 a+1 in layer 306 r (e.g., in theplane of the build plate). Also included in the unit cell areneighboring elements of 300 _(a), 300 _(a−1), and 300 _(a+1) inneighboring layers 306 _(r+1) and 306 _(r−1) (in the plane orthogonal tothe build plate). Thus, the unit cell includes 9 instances of article300 which can be represented in the output file of a 3D designapplication. This represents a small fraction of the total number ofinstances of article 300 than would be included in the conventionaloutput file specifying the entirety of the overall design, hence, theoutput file for the unit cell is considerably smaller, in some casesorders of magnitude smaller, than the conventional output file size.

To print the overall design using the unit cell 304, the output filespecifying the unit cell is provided as an input to a slicerapplication, and the slicer application is instructed to compute theprinter g-code by reproducing the unit cell envelope across the entiretyof the target printer build plate (or other specified area) for aspecified number of layers. For example, the slicer application may beinstructed to compute the area of a single instance of the unit cell andto replicate the unit cell per unit areas over the length and breadth ofthe build plate—that is, to produce printer instructions to print aninstance of the elements of the unit cell 304 per unit cell area overthe entirety of the build plate for each print layer that makes up alayer for the intended design. Similar instructions are produced for thenumber of layers called for by the entire design. Support structures maybe included in the unit cell where needed.

Note that while the above example has multiple instances of the samerepeating element per unit cell, the present invention is not sorestrictive as to require such circumstances. That is, there may bedifferent articles included within a unit cell, in either or both of theplane of the build plate or the plane orthogonal thereto, so long as theentire unit cell is a repeating element of the design. This does notnecessarily mean that non-repeating elements cannot be included in anoverall design, as indeed that may be the case in both the plane of thebuild plate and/or the plane orthogonal thereto, but the file sizereductions afforded by the present invention may not be as dramatic aswhere the number of repeating instances of the unit cell are asignificant fraction of the overall design.

To accommodate the present invention, the slicer application will needto know, or be able to compute, the number of unit cells andnon-repeating elements, if any, that can be accommodated within a buildenvelope of a single layer. That is determined by the area of the unitcell and non-repeating elements, if any, and the area of the buildplate. Various optimizations may be employed to accommodate as manyinstances as possible of a unit cell and non-repeating elements, if any,over the build envelop of a particular printer. For example, unit cellsmay be composed of repeating elements arranged in differing orientations(as shown in FIG. 6 ) so as to minimize the unit area of the unit cell.Also, non-repeating elements, if any, may be relegated to the borderareas of the build envelope so as to reserve the central area thereoffor printing of the unit cells. This arrangement may be reversed incases where the overall area of the build envelope is better optimizedif the border areas of the build envelope are used for printing of theunit cells.

In generally then, the present invention alleviates the problemsencountered with the creation and processing of very large 3D objectfiles for 3D printing. The object design is represented in a compactfashion as a “unit cell” (that is, a portion of an object design that isreplicated over a plane of a build area for some number of slices in adirection orthogonal to the build area plane) and replication of thatcell is performed in what may be regarded as an image domain at the timethe slicing operation takes place. This procedure can be applied in 3Dprinting technologies other than just vat polymerization technologieswhere layer-by-layer formation of the article(s) under fabrication takeplace. We refer to this as replication in an image domain because theslicer is producing “images” (or perhaps negatives) of each layer forthe object to be fabricated, e.g., for presentation via a mask 24 orsimilar arrangement in a 3D printing apparatus. In applications where noactual mask is used, it nevertheless remains the case thatlayer-by-layer deconstruction of the object takes place and it is at thetime of generation of the layer representation of the unit cell that thereplication of that representation across the build plate (or otherbuild area) of the target printer is performed, in accordance withembodiments of the invention.

Thus, methods of representing 3D articles to be produced using 3Dprinting processes, including but not limited to vat polymerizationprocesses, in digital file formats and printing those articles have beendescribed.

What is claimed is:
 1. A method, comprising: for a design involvingmultiple occurrences of a three dimensional (3D) article to be printed,defining a unit cell that represents an element of the 3D article thatrepeats in each one of the multiple occurrences of the 3D article thatmakes up the design and providing an output file that includes the unitcell to a slicer application, wherein the unit cell is athree-dimensional object; generating, by the slicer applicationinstantiated on a computer system, a cross-sectional image of thedesign, for use by a target printer to manufacture the design, by foreach of the multiple occurrences of the 3D article, replicating an imageof the unit cell over a specified area of a build plate of the targetprinter for a layer of the design that includes the element representedby the unit cell, wherein the image of the unit cell is atwo-dimensional area; and transmitting the cross-sectional image of thedesign from the computer system to the target printer.
 2. The method ofclaim 1, wherein the specified area is an entirety of the build plate ofthe target printer.
 3. The method of claim 1, further comprisingpresenting the cross-sectional image using a mask of the target printer.4. The method of claim 1, wherein the image of the unit cell is anegative image.
 5. A method, comprising: for a design involving multipleoccurrences of a three dimensional (3D) article to be printed, defininga unit cell that represents an element of the 3D article that repeats ineach one of the multiple occurrences of the 3D article that makes up thedesign and providing an output file that includes the unit cell to aslicer application integrated with a target printer, wherein the unitcell is a three-dimensional object; and generating, by the slicerapplication integrated with the target printer, a cross-sectional imageof the design, for use by the target printer to manufacture the design,by for each of the multiple occurrences of the 3D article, replicatingan image of the unit cell over a specified area of a build plate of thetarget printer for a layer of the design that includes the elementrepresented by the unit cell, wherein the image of the unit cell is atwo-dimensional area.
 6. The method of claim 5, wherein the specifiedarea is an entirety of the build plate of the target printer.
 7. Themethod of claim 5, further comprising presenting the cross-sectionalimage using a mask of the target printer.
 8. The method of claim 5,wherein the image of the unit cell is a negative image.